package com.hmall.gateway.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.core.io.Resource;

import java.time.Duration;

/**
 * JWT认证配置属性类
 * 用于加载JWT相关的配置参数
 * 通过@ConfigurationProperties绑定到hm.jwt前缀的配置项
 */
@Data
@ConfigurationProperties(prefix = "hm.jwt") // 绑定配置文件中hm.jwt前缀的属性
public class JwtProperties {

    /**
     * JWT密钥文件路径
     */
    private Resource location;

    /**
     * 密钥库密码
     */
    private String password;

    /**
     * 密钥别名
     */
    private String alias;

    /**
     * token有效期（默认10分钟）
     */
    private Duration tokenTTL = Duration.ofMinutes(10);

}